package com.king.security.enums;

import lombok.Getter;

/**
 * ResultEnums
 *
 * @Description
 * @Author HHJ
 * @Date 2020-09-16 14:51
 */
@Getter
public enum ResultEnums {

    /**
     * 成功操作
     */
    SUCCESS("200", "操作成功"),
    /**
     * 没有权限
     */
    NO_AUTHENTICATION("403", "没有权限!"),
    /**
     * 失败操作
     */
    ERROR("500", "操作失败"),

    /**
     * 远程调用失败
     */
    REMOTE_EXCEPTION_ERROR("5001", "系统远程升级中，请稍后访问"),

    LIKE_STATUS_ERROR("5002", "该记录状态错误!"),

    DUPLICATE_LIKE_STATUS_ERROR("5003", "该记录状态重复!"),

    RECORD_MODIFY_ERROR("5004", "该记录已经被修改!"),

    NOT_CONFIRM_VERIFY_ERROR("5005", "该记录不能被后台审核!"),

    SYSTEM_CROWDED_ERROR("5006", "系统拥挤中，请稍后访问!"),

    NOT_LOGIN_ERROR("5007", "系统拥挤中，请稍后访问!");

    private String code;

    private String message;

    ResultEnums(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public static ResultEnums getByCode(String code) {
        ResultEnums[] values = ResultEnums.values();
        for (ResultEnums value : values) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    public static boolean isValid(String code) {
        ResultEnums resultEnums = getByCode(code);
        return resultEnums == null;
    }
}
